package com.mvc.demo.controller;

import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

/**
 * @author H
 * @date 2023/1/8
 */
@RestController
@RequestMapping("advice")
public class TestAdviceController {

    /**
     * 看MyControllerAdvice.java
     * @param date 因为日期格式被控制器通知限定，所以无需加@DateTimeFormatter注解
     * @param modelMap 数据模型，在控制器通知中加了一个projectName的参数
     * @return
     */
    @GetMapping("test")
    public String test(Date date, ModelMap modelMap) {
        // 从数据模型中获取数据
        System.out.println(modelMap.get("projectName"));
        // 打印日期
        System.out.println(date);
        // 抛出异常，这样流转到控制器异常通知
        throw new RuntimeException("异常了，跳转到控制器通知的异常信息里");
    }
}
